package com.company.jvm.finalTest;


/**
 * @Classname finalKey
 * @Description TODO  final 关键字 可以修饰变量 方法和类  final在多线程存在重排问题
 * 1. 父类的final方法是不能够被子类重写的
 *
 * 2. final方法是可以被重载的
 * @Date 2021/8/18 14:57
 * @Created by ylr
 */
public class finalKey {
    private final int a =6;
    private final String str;
    private final static boolean bool;
    private final char aChar;
    private final char bChar;

    {
        str = "123";
//        a=6;//已经赋值的不能在修改
    }
    static {
        bool = false;
//        str ="非静态变量布恩那个在静态代码块中赋值";
    }

    public finalKey(String str, char aChar) {
//        this.str = str;   //已经赋值的不能在修改
        this.aChar = aChar;
    }

    public final void method(){  //final方法是可以被重载的
//        bChar = 'a'; //实例方法不能给final变量赋值
    }
    {
        bChar = 'b';
    }
    public final void method(int a){
        System.out.println(a);
    }
    //重载的参数列表一定不同  方法名必须相同   访问修饰符和返回值类型可以相同也可以不同
    public final int method(char b){
        return a;
    }


}
